package com.glela.api.pay.yeepay.component;

import java.util.Map;

import com.glela.api.pay.yeepay.model.YeePayAliModel;
import com.glela.api.pay.yeepay.model.YeePayDivideModel;
import com.glela.api.pay.yeepay.model.YeePayNetSilverModel;
import com.glela.api.pay.yeepay.model.YeePayQueryDivideModel;
import com.glela.api.pay.yeepay.model.YeePayRefundModel;
import com.glela.api.pay.yeepay.model.YeePayWeChatModel;
import com.glela.common.util.Config;

/**
 * 
 * @author MaoZeYao
 *
 */
public interface YeePay {
	
	// 校妆掌柜通 秘钥
	public static final String SECRET_KEY = Config.getString("xz.yeepay.secretkey");
	// 校妆掌柜通 编号
	public static final String CUSTOMER_NUMBER = Config.getString("xz.yeepay.mainAccount");
	
	// 网页版支付宝已通
	//public static final String CUSTOMER_NUMBER = "10013842859";
	//public static final String SECRET_KEY = "lF0386j067MWZb7817003M8o32iW7918H9Fk3JRV758P10lp182T7B8zte2u";
	
	// public static final String CUSTOMER_NUMBER = "10013731542";
	// public static final String SECRET_KEY = "6jswi9D654im6ZuNYXc73567ld2S4vg8590KAZ3Zp5do7K19353vj25395l9";
	
	// 支付宝直连已通
	// public static final String CUSTOMER_NUMBER = "10000447996";
	// public static final String SECRET_KEY = "jj3Q1h0H86FZ7CD46Z5Nr35p67L199WdkgETx85920n128vi2125T9KY2hzv";

	/**
	 * 中介返回支付宝信息
	 */
	public String yeePayTradeAlipay(YeePayAliModel model);
	
	/**
	 * 中介返回网银支付信息
	 * @param model
	 * @return
	 */
	public String yeePayTradeNetSilver(YeePayNetSilverModel model);
	
	/**
	 * 中介返回微信支付信息
	 * @param model
	 * @return
	 */
	public String yeePayTradeWeChat(YeePayWeChatModel model);
	
	/**
	 * 易宝退款
	 * @param model
	 * @return
	 */
	public String yeePayRefund(YeePayRefundModel model);
	
	/**
	 * 分账接口
	 * @param model
	 * @return
	 */
	public String yeePayDivide(YeePayDivideModel model);
	
   /**
	* 订单查询接口
	* @author gaoweiqi
	* @param requestMap {key:param value:paramValue}
	* @param JSON  resultJSON
	* @date 2017年10月24日 17:44:05
	*
	**/
	public String yeePayQueryOrder(Map<Object,Object> requestMap);
	/**
	 * 分账查询接口
	 * @author gaoweiqi
	 * @date 2017年10月17日 17:44:05
	 *
	 **/
	public String yeePayQueryDivide(YeePayQueryDivideModel model);
	
	/**
	 * 微信扫码支付
	 * @param model
	 * @return
	 */
	public String yeePayTradeWeChatQRCode(YeePayWeChatModel model);

	/**
	 * 解析分账信息
	 * @author gaoweiqi
	 * @date 2017年10月21日 16:44:05
	 *@param divideString 分账json
	 *@return Map<String, double> {key:公司  value:分账金额}
	 **/
	Map<String, Double> parsingYeePayDivide(String divideString) throws Exception;

	/**
	 * 退款查询
	 * @author gaoweiqi
	 * @date 2017年11月10日 16:44:05
	 *@param divideString 分账json
	 **/
	String yeePayQueryRefund(YeePayRefundModel model);
	
}
